///#begin en
//
//  Copyright (c) 2016 MyCamCloud. All rights reserved.
//
///#end

#import "HKSServerClient.h"
@class HKSDeviceSearchItem;
@class HKSDeviceSearchAdapterItem;
@interface HKSServerClient (LocalDeviceSearch)

///#begin zh-cn
/**
*  @brief      开始搜索设备
*/
///#end
///#begin en
///#end
- (void)startSearchDevice;

///#begin zh-cn
/**
 *  @brief      开始搜索设备,只搜索注册在当前服务器的设备
 */
///#end
///#begin en
///#end
- (void)startSearchDeviceWithServer;

/*
 接口说明:
 获取搜索到的设备数据,因为是通过局域网发送广播的形式,进行搜索,所以该接口需要调用多次,才会有数据
 
 参数说明:
 deviceSearchArray[NSMutableArray->HKSDeviceSearchItem]
 输出变量,需要外部分配好空间,内部将会把获取到的数据填充进去
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)getSearchDevTable:(NSMutableArray *)deviceSearchArray;

/*
 接口说明:
 释放搜索内存,搜索完成以后必须调用该接口
 */
- (void)stopSearchDevice;


/*
 接口说明:
 修改本地设备密码

 参数说明:
 item[TreeListItem]:修改的设备对象
 oldPwd[NSString]:原密码
 newPwd[NSString]:新密码
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)modifyDevPassword:(TreeListItem *)item
                  oldPwd:(NSString *)oldPwd
                  newPwd:(NSString *)newPwd;

/*
 接口说明:
 修改本地设备网络参数
 
 参数说明:
 deviceSearchItem[HKSDeviceSearchItem]:设备的设备对象,使用的字段:
    sDevId[NSString]:设备ID
    dwVendorId[int]:厂商ID
 sOldIpaddr[NSString]:原IP地址
 deviceSearchAdapterItem[HKSDeviceSearchAdapterItem]:新的网络参数对象
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)modifyDevIpaddr:(HKSDeviceSearchItem *)deviceSearchItem oldIpaddr:(NSString *)sOldIpaddr newAdapterItem:(HKSDeviceSearchAdapterItem *)deviceSearchAdapterItem;

/*
 接口说明:
 修改设备名称

 参数说明:
 deviceSearchItem[HKSDeviceSearchItem]:设备对象,使用的字段:
    sDevId[NSString]:设备ID
    dwVendorId[int]:厂商ID
    sDevName[NSString]:修改后的新名称
 deviceSearchAdapterItem[HKSDeviceSearchAdapterItem]:网卡对象,使用的字段:
    sAdapterMac[NSString]:网卡MAC地址，格式为XX-XX-

 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)modifyDevName:(HKSDeviceSearchItem *)deviceSearchItem newAdapterItem:(HKSDeviceSearchAdapterItem *)deviceSearchAdapterItem;


/*
 接口说明:
 启动/关闭 DHCP

 参数说明:
 deviceSearchItem[HKSDeviceSearchItem]:设备对象,使用的字段:
    sDevId[NSString]:设备ID
    dwVendorId[int]:厂商ID
    bIfEnableDhcp[BOOL]:是否启动DHCP
 deviceSearchAdapterItem[HKSDeviceSearchAdapterItem]:网卡对象,使用的字段:
    sAdapterMac[NSString]:网卡MAC地址，格式为XX-XX-
    sAdapterName[NSString]://网卡名称
 
 返回值说明:
 [int]返回状态,请参考HKS_NPC_D_MPI_MON_ERROR_*定义
 */
- (int)modifyDevDevDhcp:(HKSDeviceSearchItem *)deviceSearchItem newAdapterItem:(HKSDeviceSearchAdapterItem *)deviceSearchAdapterItem;
@end
